package cn.com.cifi.mars.service;

import cn.com.cifi.mars.bean.vo.price.NoticePriceCompareVo;
import cn.com.cifi.mars.bean.vo.price.PriceValueCompareVO;
import cn.com.cifi.mars.entity.PriceVersion;
import cn.com.cifi.mars.entity.common.IdmUser;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface PriceVersionValueOrgService {

    public String createSysCastDecisionVersion(String projectFid, String creatType, IdmUser operator, Integer lable, String instId);

    public String createSysDynamicVersion(String projectFid, String versionType, String createVersionType, IdmUser alias, Integer lable, String instId, Integer removeNoticeRule,Integer type);
    
    public List<PriceValueCompareVO> panoCastDecisionVersionChange(String projectFid, String instId);

    public List<PriceValueCompareVO>  panoDynamicVersionChange(String stageId, String sourceVersionType, String source, String instId);

    public NoticePriceCompareVo dynamicVersionCompare(String stagesId, String taskSource);

    public String createSysAppointDynamicVersion(String projectFid, PriceVersion appointPriceVersion, Integer isFinalization, LocalDate ascriptionDate, String remake, Integer lable, String instId, String source);

    public String sendBackLog(String projectId, String projectFid, String title, String versionId);

    public Map<String, String> priceRefreshActualValueInfo(String projectFid, PriceVersion priceVersion, Integer isFinalization, LocalDate ascriptionDate, LocalDateTime now, String source, String instId);

    void refreshPriceValueByStageId(String projectFid);

    void batchrefreshPriceValue(String yearmonth,String projectFid, String versionId,String type);

	public List<String> selectBuildListByVersionId(String id);

	
}
